Method and apparatus for automated fabrication

ABSTRACT

A method and apparatus are presented for automatically fabricating arbitrary materials and objects from raw components, using a combination of simple chemical, electrical, and mechanical operations. The invention will automatically generate machine control instructions for controlling automated fabrication devices and equipment from simple instructions in natural language. The invention also allows the sharing, remote execution, scheduling, and automatic ingredient ordering for such instructions to allow the creation of new materials and professional object fabrication with little or no human intervention.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationSer. No. 61/084,990, filed Jul. 30, 2008.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable.

REFERENCE TO A SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM, LISTINGCOMPACT DISC APPENDIX

Not Applicable.

BACKGROUND OF THE INVENTION

The present invention is related to robotic control systems, and moreparticularly to automated fabrication systems. It is also best viewed inlight of the art of chemistry, computer software, natural languageprocessing, and CNC manufacturing.

Stereo lithography and other 3-D printing techniques are becomingincreasingly popular. Material science is in its infancy. If chemistryexperimentation were more accessible to a wider audience, many more newcompounds could be developed, from green, environmentally-friendlychemical processes for plastics that do not require fossil fuels asinputs, to custom nano-coatings that reduce heat transfer on windows orconsumer electronics. While there are a number of automatic assays (U.S.Pat. No. 5,473,706 and U.S. Pat. No. 6,120,733) and laboratoryexperiment automation devices (U.S. Pat. No. 6,999,607 and U.S. Pat. No.7,470,541), particularly in biology, no general purpose method orapparatus in the prior art is flexible, portable, and cheap enough toproduce new custom parts for aircraft or life-saving medicine in theaverage consumer's home, or in an RV, or military vehicle, in a fullyautomated fashion. Furthermore, such systems typically require specificinstructions designed for that particular system or family of systems togenerate a particular type of compound, with a very limited set ofoperations supported (U.S. Pat. No. 4,668,476). One cannot simply take adevice used to make aspirin, and use it to make bullet-proof plasticinstead, or even most other common drugs, without human intervention.

Likewise, 3-D printing technology and stereolithography techniques (U.S.Pat. No. 7,037,382 and U.S. Pat. No. 5,779,967) only operate with a verylimited range of materials, typically custom plastics, woods, or metalswith specifically designed bonding properties, that must be the onlycombination of materials used by the 3-D printing device. There is alsono opportunity to further react or modify these materials in the processof 3-D printing, after they have been bonded to the rest of the outputobject. What is needed is a way to manipulate the materials in a 3-Dprinting process even after they have been bound to the object beingcreated, to allow for a greater range of materials, the application ofcoatings, wiring, transistor structures, and other enhancementsnecessary to create electronics, custom optics, new chemical compounds,and other objects that today's 3-D printing technology and automatedchemical process equipment cannot make.

BRIEF SUMMARY OF THE INVENTION

The following presents a simplified summary of the invention in order toprovide a basic understanding of some aspects of the invention. Thissummary is not an extensive overview of the invention. It is notintended to identify key/critical elements of the invention or todelineate the scope of the invention. Its sole purpose is to presentsome concepts of the invention in a simplified form as a prelude to themore detailed description that is presented later.

In accordance with one embodiment of the present invention is anautomated fabrication device, the Nanofabricator (NF), that appliesvarious chemical, mechanical, and electrical operations on materialsplaced inside it, to produce new or compound materials andthree-dimensional objects in a fully automated fashion. For example, thedevice can be used by military troops in the field to producepharmaceuticals on demand, or non-stick cookware, or repair parts forfighter jets, or by amateur or professional chemists to research newadvanced materials and greener chemical processes, or even to repairdamaged raincoats by applying a new water-repellant coating.

The preferred embodiment further comprises a software system forcontrolling and manipulating materials into new materials and processedproducts using various automated devices via computer control. Thecomputer system can use an ordinary instruction file, written in naturallanguage, such as that which one finds in a chemical engineering or labexperiment book, and will generate one or more machine-readableinstruction files suitable for use with an automated fabrication devicesuch as the Nanofabricator, or a collection of automated fabricationequipment. The present invention can transmit or download theseinstructions to the automated fabrication equipment and interact withsuch equipment to ensure proper execution. This allows the presentinvention to use the vast number of publicly and commercially availabledescriptions of various established and experimental chemical processes,along with 3-D CAD files of objects, to automatically fabricate thematerials and objects specified in these files and descriptions withlittle or no human intervention, as well as easily create new objects,descriptions, and chemical processes.

The present invention also allows the user to control the scheduling andexecution of material and object fabrication both locally and remotely,and can automatically predict and order needed ingredients for bothscheduled fabrications and those not yet scheduled based on priorhistory of usage.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asother features and advantages thereof, will be best understood byreference to a detailed description of a specific embodiment whichfollows, when read in conjunction with the accompanying drawings,wherein:

FIG. 1 shows the Nanofabricator device in the preferred embodiment fromthe rear view, with the rear panel removed;

FIG. 2 shows the Nanofabricator device in the preferred embodiment fromthe top view, with the top panel removed;

FIG. 3 shows the Nanofabricator device in the preferred embodiment fromthe left side view, with the left side panel removed;

FIG. 4 is a system-level diagram of the software components of thepreferred embodiment and the interactions between those components;

FIG. 5 is a simplified drawing of the user interface for scheduling andexecuting software “recipes” in the preferred embodiment on theNanofabricator device or other automated fabrication equipment;

FIG. 6 shows the interior of the front reaction chambers of theNanofabricator device in the preferred embodiment; and

FIG. 7 shows the interior of the rear reaction chambers of theNanofabricator device in the preferred embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the preferred embodiment, the Nanofabricator (NF) is an automatedfabrication device that includes an enclosure, multiple carriage tracks,a collection of containers, compartments for applying various operationsto containers or their contents, input and output facilities, andcontrol mechanisms. The preferred embodiment further comprises asoftware system for controlling and manipulating materials into newmaterials and processed products using various automated devices viacomputer control.

An alternative embodiment uses a miniaturized version of the describedNF made by scaling down the sizes of all the components, and only usingone robotic arm and carriage track, and only one 3-D plotting device andcarriage track.

The enclosure consists of six panels of medium-density fiberboard101-106 arranged in a cube, bolted together as shown in FIG. 1, FIG. 2,and FIG. 3. FIG. 1 shows the rear panel 105 removed, FIG. 2 shows thetop panel 101 removed, and FIG. 3 shows the left side panel 103 removed.The front panel 104, right side panel 102, and bottom panel 106 arebolted to the top panel 101 the left side panel 103 and the rear panel105 to form a cube.

Two carriage tracks, one on the front side 107 and one on the rear side114 of the device are used to support and move a robotic arm on eachside of the device. Each carriage track comprises a central lead screwand two support rods surrounding the lead screw. Each lead screw isdriven by a stepper motor 109, 116 to move the carriage 108, 115. In analternative embodiment, a servo mechanism replaces the stepper system.

Each robotic arm includes two rigid shaft segments 110, 117 and atwo-pronged gripper 111, 118 connected to each other and the carriage108, 115 through three pivoting screws 112 a-c, 119 a-c. Each pivotingscrew is driven by an independent motor 113 a-c, 120 a-c coupled to it.This allows each robotic arm to rotate to a wide range of anglecombinations, allowing it to pick up and manipulate various containers121. Each robotic arm also has an independently controllable sealingmechanism 126, 127 attached to the two-pronged gripper with anotherpivoting screw, which also has its own independent motor to rotate theseal into place on a container 121.

A range of containers 121 of various shapes and sizes and materialsrests on a shelf 122 in the center of the NF. A removable tray 123attached to the shelf 122 contains spaces for each of the containers 121to sit its base in. Fused silica, polyethylene, metal, and ceramiccontainers are available to facilitate a wide range of temperature,pressure, pH, and chemical reactivity conditions. The default selectionof containers included in the preferred embodiment comprises one fusedsilica conical flask, two round-bottom flasks, and two beakers, onepolyethylene conical flask and two beakers, one silicon carbide breaker,and one ceramic beaker. However, the containers can be swapped out forothers by the user to accommodate any desired material and chemicalrequirements.

Each container 121 is equipped with a pair of gripping handles withholes to fit the two-pronged grippers 111, 118. This allows the roboticarms to lift the containers and move them as desired, without spillingtheir contents, while the sealing mechanisms 126, 127 can simultaneouslybe inserting or removing a seal.

In an alternative embodiment, each container is also equipped with anautomatic seal at the top, which can be opened and closed by anelectrical signal sent from the conductive two-pronged grippers 111, 118while they are holding a container. In another alternative embodiment, apressure or vibrational signal is used instead of an electrical signal,using a purely mechanical mechanism to open and close the seal that doesnot require conduction or electricity. In yet another alternativeembodiment, the seals are manually put in place using one or morerobotic arms, allowing the use of a wide variety of seals of differentmaterials themselves equipped with gripping handles, which can bedynamically matched with different containers. One robotic arm can alsobe holding a container while another robotic arm removes or inserts aseal.

The top shelf 124 of the NF includes ten storage bins 125 in the centerof the device, in two rows of five bins. Each storage bin is equippedwith a lid 128 on the top, which can be removed to allow loading of thebins. The top panel 101 can also be easily removed to allow access tothe storage bins 125. Removing any of the lids 128 or the top enclosurepanel 101 does not impact the functionality of the device, which willcontinue to run even while the top panel 101 is removed or bins 125 arebeing loaded. In the case where gas is being loaded in through the topof the bin, the gas feed can be secured to the bin in a manner thatseals off the top of the bin to prevent gases from escaping, such as byusing a lid with a gas valve or manually blocking any exposed areas.

The top shelf 124 includes an independent port 129 underneath each andevery storage bin 125, which can be opened to allow contents to enterinto the containers 121. In the preferred embodiment, the ports 129 areelectronically controlled by a simple actuator that can automaticallyopen and close them as desired. The robotic arm will pick up a container121 and position it directly underneath a port 129 of a storage bin 125,then a signal will be sent to automatically open that port, allowing thecontents of the storage bin to enter the container. A weight sensor andoptical sensor on the robotic arm's gripper 111, 118 allow it to detectwhen sufficient material has entered the container and automaticallyclose the port 129. Additionally, each storage bin 125 is equipped withsensors to measure the mass and volume of its contents, which can alsobe used to detect when sufficient material has exited the storage bin,and therefore entered the container. In the preferred embodiment, theport is automatically closed when either the bin's sensors or thegripper's sensors have detected sufficient material moving into thecontainer. In an alternative embodiment, only the bin sensors are used.In another alternative embodiment, only the gripper sensors are used.

Once a container 121 is filled with material from a storage bin 125 andthe relevant storage bin's port 129 is closed, the robotic arm movesaway the container and uses its sealing mechanism 126, 127 to ensurethat the contents do not escape. The robotic arm places a container intoa reaction chamber 130 that is capable of executing the desiredchemical, mechanical, or electrical reaction with the material in thecontainer being placed. If needed, the robotic arm will instead hold thecontainer upside down and release the sealing mechanism 126, 127 overthe open reaction chamber 130 in order to insert its contents into thereaction chamber, but not the container itself. This is desirable, forexample, when two materials need to be combined, or moved from onecontainer to another.

Each reaction chamber 130 is designed to apply a combination of one ormore operations on its contents, such as heat, cold, a series oftemperature gradients, pressures, ultrasound, electricity, EMF waves,radiation, light, spinning, mixing, filtering, or other operations.These simple operations can be combined to carry out an extremely widerange of reactions. Each reaction chamber 130 is equipped with its ownlid 131, which can be electronically opened and closed by a simpleactuator, allowing it to automatically open when the robotic arm isinserting something into it or removing something from it, and to closeafterwards. Some of the reaction chambers (the middle two, in thepreferred embodiment) are also each equipped with ports 132 on thebottom that are also electronically opened and closed by a simpleactuator, similarly to the ports 129 of the reaction bins 125. Theseports 132 are used to feed the output of the reactions into the 3-Dplotting devices below.

In the preferred embodiment, there are ten reaction chambers 130 securedon a shelf 133 in the center of the NF. Each reaction chamber has threeindependent electronically controlled intake/outtake valves that connectit to the piping system 134 through a box junction 135, allowing a setof pumps 136 b, 136 c, 136 e, 136 f to increase or decrease the pressurein a reaction chamber, pump gases, fluids, or solids in or out, andcreate vacuum conditions. Each reaction chamber also includes a standardarray of pressure, temperature, weight, and volume sensors as well as avideo camera, built into the walls of the chamber, as well as opticaland flow volume sensors at each intake/outtake valve. Individualreaction chambers also contain further sensors to guide and measure theeffects of their operations, as appropriate. The insides of the frontfive reaction chambers 406-410 included in the default configuration ofthe preferred embodiment are illustrated in FIG. 6 and the insides ofthe rear five reaction chambers 401-405 included in the defaultconfiguration of the preferred embodiment are illustrated in FIG. 7.

The first rear reaction chamber 401 includes a heating element 411, aheat-resistant rapid spinner 412, a directed ultrasonic transducer 413,and a stirring device 414 that is built into the lid. The spinner 412utilizes a heat-resistant electric motor to spin a fixed platform abouta vertical axis. Any containers or raw materials placed on the spinnerplatform will likewise spin, and the outer edge of the platform issloped up to keep its contents secure. The spinner platform also has anelectronically controlled channel at the outer edge that can be openedor closed to allow drainage, if desired. The stirring device 414 can berotated at variable speeds along a ball joint by electric motors,allowing it to conduct a wide array of mixing operations, and to beraised and lowered into a container. Each of these elements can beelectronically controlled to a high degree of precision, for example, toapply a specific temperature of heat by regulating the amount ofelectricity directed through the heating element 411, or the speed ofthe spinner 412, or to control the waveforms produced by the ultrasonictransducer 413. In combination with the intake/outtake valves and pipingsystem 134, this allows the reaction chamber to perform chemicaloperations that range from operations such as spin coating, to mixing asolution while slow heating in a high pressure environment, to others,such as ultrasonic cleaning of dirty containers or of the reactionchamber or piping system itself. Very thorough cleaning can be achievedby ultrasonically exciting a cleaning fluid that has been pumped throughthe desired element to clean, then rinsing with high pressure distilledwater. This cleaning process is used in the preferred embodiment toclean the containers, reaction chambers, storage bins, piping system,and other parts of the NF itself, which is done automatically in betweenuses of different chemicals and compounds that could affect each other.

The front reaction chamber 409 is similar to the first rear reactionchamber 401, with a heating element 436, a heat-resistant rapid spinner437, a directed ultrasonic transducer 438, and a stirring device 439built into the lid, except it also includes a pressure-controlled nozzle440 that is capable of extruding any materials pumped in through avalved pipe 441 connected to the lower box junction of the piping system134 along this reaction chamber, at an electronically controlledpressure and speed. Additionally, the ultrasonic transducer is mountedon the opposite side of the reaction chamber 409. An ultraviolet lamp442 is also mounted below the ultrasonic transducer, which can beelectronically controlled to emit ultraviolet radiation in variablepatterns and intensities, by varying the current sent to the lamp. Thisalso means that in addition to ultrasonic cleaning, this reactionchamber is capable of sterilizing its contents with heat or ultravioletradiation. In an alternative embodiment, other forms of light or otherradiation can be used instead.

The front reaction chamber 407 is similar to the aforementioned reactionchamber 409, with a heating element 443, a heat-resistant rapid spinner444, a stirring device 445, and a pressure-controlled nozzle 446connected to a valved pipe 447. However, the stirring device 445 isinstead mounted on a corner ball socket 448 at an angle, allowing it adifferent range of motion for mixing and stirring. It also contains amagnetron 449, microwave transformer 450, and waveguide microwaveemitter 451 in the place of the ultrasonic transducer and ultravioletlamp, to allow microwaves to be directed at the contents of the chamber.The walls of the chamber, valves, exposed elements in the chamber, andthe base of the spinner, are shielded to prevent microwaves fromtraveling outside of them or disrupting the electronics of the NF. In analternative embodiment, other frequencies of RF energy are used instead.In addition to catalyzing chemical reactions, the microwave system canalso be used for certain sterilization tasks, as well as smelting metal,and even electric arc welding and creating plasmas. In this case, thesystem will automatically vent any unwanted exhaust through the standardvalves to the box junctions in the piping system 134 along the reactionchamber 407.

The second rear reaction chamber 402 includes a rotating chamber 415with an electronically controlled lid 417 that can slide open and closedby means of a simple electric motor. The rotating chamber 415 is rotatedabout its horizontal axis by a variable-speed electric motor 416. Inaddition to spinning and mixing the contents of the chamber at variablespeeds, this allows the reaction chamber 402 to invert a container 121so that it can easily be picked up while fully upside-down by a roboticarm, without requiring the arm to rotate the two-pronged grippers 111,118 upside-down, which allows the sealing mechanisms 126, 127 to be usedto tap the bottom of a container rather than sealing it, to help expelthe contents.

The middle rear reaction chamber 403 contains a layered grill 418 a withholes of different sizes in each layer, where each layer can beindependently extended or retracted electronically by a motor 419 a.Rapidly fluctuating between extending and retracting a layer alsoresults in shaking behavior, which can be desirable to sift materialsthrough the holes. The preferred embodiment includes four layers, withholes of 30 millimeters diameter, 10 millimeters diameter, 1 millimeterdiameter, and 0.1 millimeters diameter, respectively. By using differentcombinations of layers with different sized holes, particles of anysupported size can be filtered. Any material filtered through the holescan either be pumped out into the piping system 134 through the valve atthe bottom of the reaction chamber, or the port 132 at the bottom of thereaction chamber can be opened to drop the material into a 3-D plotternozzle 145 a or directly onto the output tray below. The middle frontreaction chamber 408 is similar, with a layered grill 418 b and motor419 b and its own output port that can drop material into its own 3-Dplotter nozzle 145 b, but it also contains an electronically controlledheating element 420 a-d on each of the four side walls of the reactionchamber.

The next rear reaction chamber 404 is a high temperature gas furnace.The walls of the furnace on all sides are lined with a high temperaturealumina-based concrete refractory 421. In an alternative embodiment, therefractory includes a layer of titanium diboride to resist extremelyhigh temperatures of over 3000 degrees Celsius. A container insertedinto the reaction chamber serves as a crucible, and the system selects acontainer appropriate for the expected heat. A high temperaturethermocouple is used to ensure that the maximum allowed heat for thegiven container type is not exceeded, and to regulate that any desiredreactions are kept at the appropriate temperature. Gas is pumped in fromthe piping system 134 through the lower valve connecting it to the lowerbox junction, into a pressure-regulated nozzle 422. The gas is ignitedby the electric ignition element built into the pressure-regulatednozzle 422 that shoots out the gas at a controlled pressure and ignitesit, much like a butane torch, pumping it in through an intake hole 423into the furnace. The piping system can easily supply any available gas,for example, allowing propane fuel for mundane tasks, hydrogen fuel forhigh temperature, high-pressure tasks, and even mixtures of oxygen andother fuels like acetylene to allow for extremely high temperature,oxy-fuel operation. Exhaust holes 424 a-b at the top of the refractorylead through heat resistant tubes 425 a-b that allow the exhaust to cooldown before going through the middle and upper box junctions into thepiping system 134. These tubes 425 a-b are equipped with pressuresensors and valves that can partially close or open to further regulatethe pressure in the reaction chamber by decreasing the flow of exhaustout of the reaction chamber. The piping system can take further actionto dissipate heat by pumping cold liquids through adjacent pipes beforereleasing the hot exhaust gases into them. The lid of the reactionchamber also contains a well-insulated refractory to seal the reactionchamber and prevent heat or exhaust from escaping, other than throughthe exhaust holes 424 a-b.

The next rear reaction chamber 405 includes two electrode holders 426a-b on motorized rails 427 a-b that can be moved back and forthelectronically to position the electrodes as desired for an optimalreaction, using feedback from optical sensors. Each electrode holdersupports a solid to be used as a reusable or consumable electrode 428a-b, which can be replaced by the user, or even inserted or removed by arobotic arm dumping or retrieving a properly positioned container. Eachelectrode 428 a-b in a holder 426 a-b is connected to the electricalsystem of the NF through the holders and rails 427 a-b, allowingelectricity to be applied through the electrodes, as well as allowingchemical reactions in the reaction chamber to generate electricity thatis fed back into the NF through the electrodes. The precise positioningof the electrodes allows the reaction chamber to even carry on suchprecision operations as electric arc welding, and includes a blocktransformer 429 for this purpose, as well as a voltmeter and ammeter andpotentiometer to measure and regulate the voltage and current. Apressure-regulated nozzle with an electric ignition element 430 shootsout gas to the center of the chamber at a controlled pressure andignites it, allowing the electrodes to be positioned for combustion orheat-mediated reactions if desired. The gas flows into the nozzle fromthe piping system 134 through a valve on the lower box junction of thereaction chamber, and the nozzle 430 can seal itself off completely toprevent gases and liquids from entering in either direction. Gases andother materials can be pumped in and out through the valves connectingto the other two box junctions along the reaction chamber as normal,when those valves are open. The entire reaction chamber can also befilled with a liquid or gas as desired. This allows such activities asunderwater electric arc welding for generating carbon nanotubes, orcertain acids to be used for generating electricity. When performingelectrolysis, the gases at the anode and cathode can be capturedindependently by positioning one electrode in front of the middle valveconnected to the middle box junction along the reaction chamber, andextracting the gas at that electrode through that valve, whileextracting the other gas through the valve at the top of the chamber, orinto an inverted container over that electrode.

The front cooling reaction chamber 406 includes an inner chamber of sixPeltier devices 431, one on each side, top, and bottom. By independentlyelectrically controlling the voltages and currents across these Peltierdevices, they can be used to generate cold, as well as heat, byreversing the polarity. The top Peltier device is connected to the lidof the reaction chamber by mounting brackets 434 a-b, allowing it to belifted out when the lid is opened, so that containers may be placedinside, and securely sealed when the lid is closed, creating an innerchamber for cooling. A heat and cold resistant pipe port 432 isconnected through a valve to the middle box junction and piping system134 along the reaction chamber, outside of the inner chamber of Peltierdevices. This port 432 allows the heat and cold resistant pipe 433 tosnap directly into the port when the lid of the reaction chamber isclosed. This pipe 433 is connected to the lid at its top, and runs tothe top of the reaction chamber outside of the Peltier devices, allowingany heat generated to be pumped out of the top of the reaction chamberthrough this pipe during cooling. The other box junctions attached tothis reaction chamber open into the middle of the chamber normally,allowing it to extract and expel gases or other materials in the innerchamber during a reaction or as part of normal operation. Pumping incold liquids or gases and pumping out the heat is another mechanism thatreaction chambers can use to cool their contents. A stirring device 435like the one 414 in the previous reaction chamber 401 is also mounted onthe top Peltier device, allowing stirring of the inner chamber contents.

The front reaction chamber 410 contains a furnace, like reaction chamber404, but is capable of handling more complex chemical processes such asthin-film chemical vapor deposition (CVD). The walls of the furnace onall sides, including the floor and the removable lid, are lined with ahigh temperature refractory 452 to direct heat and prevent heat andgases from escaping or interfering with the NF. The left and right sidesof the reaction chamber also contain electromagnets 453 a-b behind therefractory that can be precisely controlled to generate direct, pulsed,or alternating operation at fixed or varying currents and voltages andfrequencies. The outer walls of the reaction chamber and lid above therefractory are also shielded to prevent strong electromagnets frominterfering with the rest of the NF. Each electromagnet is connected toa temperature resistant conducting plate 454 a-b through an insulatedtemperature resistant wire 455 a-b embedded directly in the refractoryso that it does not create any holes for gases to pass through. Thesubstrate 456, container, or crucible for the reaction rests on therefractory floor, and gas or other materials are pumped in from thepiping system 134 through the upper or middle valve connecting thereaction chamber to the upper or middle box junction, respectively, intoa pressure-regulated nozzle 457 a-b. The gas or other material can beignited by the electric ignition elements built into thepressure-regulated nozzles 457 a-b that shoot it out at a controlledpressure and ignite it, pumping it down into the central furnacechamber, and over the substrate 456. Suction outlets at either side ofthe bottom of the furnace chamber allow the gas or other material to bepumped out through heat resistant pipes 458 to an electronicallycontrolled pressurized valve 459, which expels it out back into thepiping system 134 through the lower box junction along the reactionchamber. The electromagnets allow this reaction chamber 410 to be usedfor electroplating and even high-density plasma deposition, in additionto standard thin-film CVD, allowing such exotic operations as carbonnanotube growth in an economically efficient manner.

Many additional variations and types of reaction chambers can beanticipated and included in light of this teaching, by those of ordinaryskill in the arts of chemistry, chemical engineering, biology, androbotics.

The piping system 134 allows for the transport of gases, as well solidsand liquids, to and from the reaction chambers, storage bins, andoutside of the NF. Six pumps 136 a-f are electronically controlled toindependently suck in or blow out of each one of their ports to aconnected pipe, as needed. Each port on each pump can also be closed andopened independently, allowing gases and other materials to be routed inone port and out another, or to be prevented from entering a port. Thepiping system 134 includes two horizontal pipes on each of the front andrear sides of the device along the storage bins 125, and threehorizontal pipes on each of the front and rear sides of the device alongthe reaction chambers 130. Each of the horizontal pipes along thestorage bins and reaction chambers is connected to a number of verticalpipes, one running along each storage bin and each reaction chamber.Each vertical pipe connects all of the horizontal pipes running alongthat storage bin or reaction chamber. Each of these connections has abox junction 135, which consists of an independent electronicallycontrolled valve on each section of pipe leading away from the junction.This allows the pumps 136 a-f to route air (or other material) flowalong arbitrary paths in the piping system 134, by selectively openingand closing valves at various box junctions, and blowing from or suckinginto selected connected pipes with the pumps 136 a-f. Each box junction135 also includes an electronically controlled valve connecting thejunction directly to the storage bin or reaction chamber that its pipesrun along. So, the upper rear pump 136 a can suck hydrogen gas out of astorage bin and through rear pump 136 b, then open the valves at a boxjunction 135 coming from pump 136 b and leading into a reaction chamber130 to combust, while simultaneously pumping nitrogen out of a secondreaction chamber and into a third, using another port of pump 136 b andby opening and closing the appropriate valves. The vast combinations ofpumps, connecting pipes, box junctions, and valves allow for a flexibleway to move multiple materials simultaneously. This piping system is sopowerful that it is possible to conduct a wide variety of chemicalreactions without utilizing the robotic arms at all. One alternativeembodiment of the present invention does not have robotic arms or thecarriage tracks they run on at all.

The upper rear pump 136 a connects to the two horizontal pipes in thepiping system 134 that run directly behind the rear storage bins. Thesepipes are also connected via electronically controlled valves to eachother and the rear output pump 136 b. This pump 136 b also connects toan external pipe 137 and a pipe leading to the front output pump 136 e,as well as to the three horizontal pipes that run directly behind therear reaction chambers. These three pipes also connect to the lower rearpump 136 c. Similarly, the upper front pump 136 d connects to the twohorizontal pipes in the piping system 134 that run directly in front ofthe front storage bins. These pipes are also connected viaelectronically controlled valves to each other and the front output pump136 e. This pump 136 e also connects to an external pipe 138 and a pipeleading to the rear output pump 136 b, as well as to the threehorizontal pipes that run directly in front of the front reactionchambers. These three pipes also connect to the lower front pump 136 f.

The preferred embodiment includes two 3-D plotting devices that arecapable of precisely extruding arbitrary materials through a nozzle tocreate precise patterns and structures on one or more substrates. In thecenter of the NF, there are two carriage tracks 139 a-b that each formthe base of a 3-D plotting device, each driven by its own stepper motor140 a-b coupled to a central lead screw and two support rods surroundingthe lead screw, which moves the carriage 141 a-b on that carriage track.Each of the carriages 141 a-b has a similar secondary carriage track 142a-b mounted vertically on the primary carriage 141 a-b, with a secondarymotor 143 a-b on each primary carriage 141 a-b driving the lead screwthat positions a secondary carriage 144 a-b on the secondary carriagetrack 142 a-b. Each secondary carriage 144 a-b has a nozzle 145 a-bmounted on it, allowing the nozzle to be precisely positioned by theprimary 140 a-b and secondary 143 a-b carriage motors along the verticaland one horizontal axis. The top of each nozzle is open, and can bepositioned directly underneath the output port 132 of a reactionchamber, allowing that port to be opened and the contents to fall intothe nozzle.

Each nozzle 145 a-b can extrude the contents stored in it in a preciseand controlled fashion through an electronically controlled valve in theprecision tip 146 a-b, allowing extremely intricate and detailedpatterns to be created on the output tray 147 below. In the preferredembodiment, each nozzle tip 146 a-b has an opening of 5 micronsdiameter, although can be electronically opened to as large as 200 mmdiameter, the diameter of the nozzles 145 a-b. Using standard 3-Dprinting techniques well known in the field of 3-D printing, manydifferent materials can be layered to form 3-D objects, and differentmaterials can be successively applied to substrates or partial objectson the output tray, enabling the production of an extremely wide rangeof physical objects. Adhesive bonding substances can easily be appliedthrough the nozzles 145 a-b to allow arbitrary structures to be builtup, for example, using one or more drops of material at a time for eachdrop of adhesive applied to the current object on the output tray. Theoutput tray 147 is itself mounted on yet another carriage track 148,with a central lead screw driven by a stepper motor 149 and supportingrods. The system provides yet another horizontal axis of control for theoutput tray, which in conjunction with the two axes provided by theprimary 139 a-b and secondary 142 a-b carriage tracks of each 3-Dplotting device, allows the nozzles 145 a-b to output materials tovirtually any point in 3-D space along the bottom of the NF. Sandcasting and other techniques can be used to provide support structuresfor 3-D structures on top of them that can be easily removed later whenan object has been completely created and any adhesives have fullybonded and set. Such structures can also be used as molds for castingother materials. In an alternative embodiment, one of the nozzles isreplaced with a neodymium-doped yttrium aluminum garnet laser.

The output tray carriage track 148 extends through a hole in the bottomof the front enclosure panel 104 that leads to an easily-accessiblechamber 150 at the front of the NF that the user can access by simplylifting the output chamber lid 151. This allows the user to retrieve anyobjects output by the NF, as well as to put substrates on the outputtray that can then be processed and have materials extruded on them bythe 3-D plotting devices. Of course, smaller materials, as well asliquids and gasses, can also be output from the NF through the outputpipes 137, 138 as well.

The NF also includes a lift in the middle of the left side of thedevice. A lifting platform 152 with an open top and an electronicallycontrolled side door can be propelled up and down a vertical carriagetrack 153 by another motor 154. The two-pronged grippers 111, 118 on therobotic arms can lift containers 121 from the lifting platform 152 aswell as deposit containers or their contents onto the lifting platform.An additional carriage track 155 drives another carriage 156 with amotor 157, with paddles 158 a-b on that carriage 156 that can beelectronically rotated up and down by electric motors to move objects onthe output tray 147. When the paddles 158 a-b are rotated down into ahorizontal position across the output tray 147, moving the carriage 156along its track 155 can move objects on the output tray to and from thelifting platform 152, when its side door is open. These loadingtechniques, when combined with the lift, allow objects on the outputtray to be transported back up to the reaction chambers 130, as well asobjects in the upper part of the NF to be transported down to the outputtray 147 for further processing, including larger objects that have beenprocessed in a reaction chamber but cannot be safely extruded through anozzle 145 a-b. This ability to iteratively and successively processarbitrary materials in this fashion allows the NF to construct almostlimitless types of objects. For example, a silicon wafer can be preparedin a reaction chamber 410 using chemical vapor deposition, then circuitpatterns can be etched onto the wafer using masking agents extrudedthrough the nozzles 145 a-b, and then lifting the wafer back up to beexposed to ultraviolet radiation in a reaction chamber, bathing it in anon-destructive solvent to remove the masking agents, then growing anadditional polysilicon layer on the wafer with chemical vapordeposition, and repeating and adding further steps as necessary,including additional silicon dioxide and aluminum layers, until afinished CMOS product has been produced. Since the NF has twoindependent 3-D plotting devices, both nozzles 145 a-b can easily beoutputting different substances simultaneously to the same or differentobjects, for example, simultaneously applying two different substancesthat combine to cause a chemical reaction on the substrate, such asepoxy.

The NF also includes a sealed waste shaft 159 that can be used to getrid of unwanted materials and by-products. One or both of the outputpipes 137-138 can also be used for this purpose from time to time, butmay not work as well with larger solid objects that cannot fit throughthe pipes. The output pumps 136 b, 136 e also have an additional portthat can open directly into the waste shaft 159, so that unwantedmaterials can be pumped into it. The robotic arms will dump unneeded orunwanted materials into the waste shaft 159 through one of theelectronically controlled doors 160 a-d (and four additional doors onthe opposite side, not visible in FIG. 1, but directly opposite thesedoors) which are opened for this purpose, and then closed afterwards.The paddles 158 a-b on the paddle carriage 156 can also be used to sweepunwanted objects off the output tray 147 through the electronicallycontrolled door 160 e into the waste shaft 159. Materials put into thewaste shaft will fall to the bottom, where they can be manually removedby the user manually opening the waste door 161, as well asautomatically pumped out by the output pumps 136 b, 136 e, when thewaste door is electronically opened by the NF control system.

In an alternative embodiment, the robotic arms and containers arereplaced with a rotating suction device that can suck solids, liquids,and gases into a syringe, and squirt them out into the desired storagebins or reaction chambers. In another alternative embodiment, additionaldegrees of freedom are added to the robotic arms and carriage tracks byadding additional linear or rotational actuators, to allow for a broaderrange of movement.

All of the electrical devices in the NF are controlled by means of acontrol box 162 that generates the appropriate electrical signals todrive all of the motors, actuators, and other devices, and receivesinformation from all of the sensors in the NF, using standard electricalsignals well known to those of ordinary skill in the art of electronicsand motor control. In the preferred embodiment, these signals aregenerated and received by a computer connected to the NF via a wired orwireless connection, and processed and controlled by software on thatcomputer. The user can also manually specify each command in real time,if desired. In an alternative embodiment, the control box also containsa microcontroller that performs these functions instead, eliminating theneed for any hardware outside of the NF. In the preferred embodiment,the control box also contains a power port to provide external power tothe NF, as well as an AC adapter to allow both AC and DC power to beutilized as needed inside the NF. In an alternative embodiment, thecontrol box also contains a battery to allow the NF to operate withoutexternal power. In another alternative embodiment, power can also begenerated internally, automatically as needed, using the input materialsin the storage bins, and performing the appropriate exothermic reactionson them, and capturing that energy from the reaction chambers. Forexample, acid and a zinc electrode attached to electrical leads in areaction chamber, or a thermal temperature difference across Peltierdevices, can be used to generate electricity for the NF.

The preferred embodiment of the present invention further comprises aRecipe Processing Software process capable of converting chemical,electrical, and mechanical “recipes” into machine-specific instructionsfor automated fabrication equipment such as the Nanofabricator, aController for executing those instructions on and interpreting feedbackfrom the automated fabrication equipment, a user interface, and anInternet Recipe Server for accessing, sharing, editing, and sellingrecipes, as shown in FIG. 4. The user interacts with the system throughthe user interface to schedule, execute, find, and otherwise transactwith recipes. The user interface exchanges data with the Internet RecipeServer to search for, purchase, upload, and download recipes. TheInternet Recipe Server uses a database to store and lookup recipes. Theuser interface invokes the Recipe Processing Software to read a recipeand determine the automated fabrication equipment to use and to generatethe appropriate machine-specific instructions for each such piece ofidentified equipment. The user interface uses this information to invokethe Controller, which sends the generated machine-specific instructionsto the appropriate pieces of automated fabrication equipment at theappropriate times and monitors feedback from such equipment. The RecipeProcessing Software and Controller are described in more detail laterbelow.

A user can request a specific recipe to be prepared either through alocal user interface or remotely over the Internet through an identicaluser interface on the World Wide Web, as shown in FIG. 5. In both cases,the user interface will allow the user to customize or modify therecipe, schedule the preparation of the recipe for some point in thefuture, add and share new recipes over the Internet, and purchaseadditional recipes over the Internet. When scheduling a recipe for thefuture, the user may either specify the desired time the recipe shouldbe ready by (in which case the system will automatically schedule therecipe to start before the desired ready time, by estimating the amountof time necessary to perform the recipe, using the parser describedbelow and a database of estimated times of each fabrication operation)or the time at which recipe preparation should begin. In the preferredembodiment, all recipes are specified in natural language, althoughalternative embodiments can employ more compact machine-independentrecipe representations. In one such alternative embodiment, recipes areinstead specified in the Object Fabrication Interchange Format (OFIF) tomake parsing recipes easier and simpler. An OFIF file consists of aseries of lines of text, where each line starts with one of thefollowing commands, or other supported operation command names: mix,microwave, ultrasound, boil, distill, titrate, drip, spin, rotate, sift,CVD (for chemical vapor deposition), electrify, stir, heat, put, cool,extrude, or assign. Each command is followed by an optional timeparameter and optional speed, temperature, pressure, voltage, current,and frequency parameters for each command, followed by variables toapply the command to. These variables are used to represent physicalobjects and materials, containers 121, storage bins 125, reactionchambers 130, pipe sections in the piping system 134, the liftingplatform 152, and other locations in the fabrication device, and allinitial ingredients are assigned to variables at the top of the fileusing the assign command. The assign command is a special case, whichtakes either one or two arguments: the first argument is the variable toassign an object or volume of gas or other matter to, and the optionalsecond argument is the ingredient, object, or container to assign tothat variable. If a second argument is not provided, the result of thelast operation is instead assigned to that variable. For example, thecommands, “mix V1 V2” and “assign V3” will mix together the ingredientsassigned to the variables V1 and V2 and assign the mixture to thevariable V3. The commands “open”, “close”, “pump in”, and “pump out” canalso be used to control individual valves, lids, and openings in the NFand its piping system 134. In this case, the arguments specify thelocation to apply the command to, and an optional speed parameter. Thepreferred embodiment is also capable of generating a recipe in the OFIFformat from natural language “recipes”, using the same parser describedbelow for initial processing. The recipe also contains an auxiliary filecontaining any necessary CAD/CAM information for creating physicalobjects using the 3-D plotting devices with various materials during thefabrication process. The recipe file references this CAD/CAM informationusing the “extrude” command, and a reference to the identifier of theCAD/CAM information. The Recipe Processing Software then generates theappropriate instructions to control the 3-D plotting using standard CAM(Computer-Aided Manufacturing) techniques used by CNC machines, andpasses them to the Controller to send to the fabrication devices at theproper times.

In an alternative embodiment, a remote telephony interface is alsosupported, allowing users to type in the first few letters of a desiredobject or verbally state the name of the recipe via a speech-recognitioninterface. The interface will then verify the correct recipe by using atext-to-speech system to read the user a short description of the recipefollowed by the full listing of the recipe. The user may confirm thisrecipe or search for alternative or similar recipes via a touchtone orvoice command at any time during this process.

Once the user has executed or scheduled a recipe for preparation, thepreferred embodiment of the present invention will display the necessaryingredients required for that recipe, as well as the current stores ofingredients contained in any connected fabrication devices, such as thestorage bins 125 of the NF. The user interface will invoke thecontroller to query connected fabrication devices for currentinventories of ingredients, and will also maintain an independent recordof quantities of ingredients ordered and quantities of ingredients used,to handle cases where such queries are not supported by the connectedfabrication equipment. The user can also configure the system toautomatically order any ingredients needed for all scheduled recipesover a specific time frame for delivery, by using the Internet, and canalso automatically print a shopping list of all needed ingredients. Whenloading the storage bins 125 of the NF, the user must manually specifyto the software what material is being loaded in each bin, although thebins are capable of automatically measuring the mass and volume of thatmaterial. In an alternative embodiment, the NF will actually use thereaction chambers 130 and their sensors to chemically, visually, orelectromagnetically determine the chemical composition of the materialsinserted into the storage bins 125.

In addition, the system can be configured to predict the ingredientsneeded over a specified time frame even before some or any of therecipes scheduled for that time frame are entered into the system. Thisis accomplished by accumulating historical data of the user's recipeselection and using statistical analysis to extrapolate likely neededingredients in the near future. In the preferred embodiment of thepresent invention, time-sensitive linear regression of all previouslyused ingredients over the past year is conducted, with weights of lessrecently used ingredients discounted by the square of the number ofweeks since last usage. Ingredients for which the system predictsquantities needed below a user-specified tolerance level are ignored.

The system can also modify recipes automatically to accommodate specificuser preferences. For example, if the user is trying to reduce toxicbyproducts of chemical reactions, the user can configure the system toautomatically substitute propylene glycol for ethylene glycol whenmaking products like antifreeze, to reduce toxic byproducts. If the userwants to only use “green”, renewable ingredients and reactions, they canalso generate the propylene glycol from waste glycerin, one of thebyproducts of biodiesel production, which the system can automaticallysave for this purpose when producing biodiesel fuel, or the user canload manually from external sources. The system will automaticallyaccomplish these preferences and substitutions by using a remotedatabase on the Internet Recipe Server that maps such ingredients totheir substitutes, also adjusting the quantities if indicated by thedatabase. The database can contain specific conditions for substitutionsas well, for example making substitutions only if a material isnon-acidic, or in all recipes except those for producing waterproofobjects.

The database can also track rankings of various chemical reactions and“recipes” to automatically present the most popular ones to the userfirst. In addition, the user can set up the Recipe Processing Softwareto automatically try several variations of a given recipe, with variableparameters, and then automatically score the results based on someautomatic reading of the sensor in the NF or other automated fabricationdevice. This system can then take the best scoring results, and thenrandomly modify any remaining variable parameters and iteratively repeatthe process, until it identifies the optimal settings for each variableparameter. This allows the Recipe Processing Software to essentially usea genetic algorithm or other statistical technique to automaticallyfigure out how to best produce materials and objects with user-specifiedcharacteristics.

The Recipe Processing Software that converts natural language recipes tofabrication machine instructions begins by using a combinatorialcategorical grammar parser to extract syntactic and semantic data fromthe natural language sentences in a recipe's text. The grammar used inthe preferred embodiment is a standard English grammar augmented withconstructs for parsing ingredient lists to extract the ingredients andquantities needed for a given recipe. The augmented constructs simplyparse stand-alone noun phrase sentence fragments that are not part ofany other sentence and begin with a quantity specifier (i.e. 6 ml ofglycerol). When an ingredient has a recipe for making that ingredientavailable either locally or on the Internet Recipe Server, at the user'soption, the system will automatically parse and execute the recipe formaking that ingredient before starting on the originally requestedrecipe. If this option is chosen by the user, the above-mentionedscheduling system and ingredient prediction system will also includethese dependencies when calculating time or ingredients needed for anyrequested recipe. This allows dependent recipes to be automatically madewhen desired (for example, if the user desires ethanol from corn to beused as an ingredient in a recipe, the system can automatically make theethanol first, instead of requiring the user to insert a comparablefossil fuel) and premade ingredients to be used otherwise (for example,if the user just wants to make a recipe as quickly as possible usingstore-bought ingredients). This also allows a user to make almost anycommon material desired using ordinary, inexpensive household compoundsavailable from a grocery store, such as vinegar, cooking oil, salt,hydrogen peroxide, alcohol, or water, by extracting the desired basecompounds and combining them to make other molecules. For example,hydrogen and oxygen gas can be easily made by performing electrolysis onwater with a salt as a catalyst. While this may not be asenergy-efficient or fast in some cases as high-yield modern industrialchemical processes, it allows many compounds to be made in small,individualized quantities, without the aid of expensive or hard toobtain ingredients, or specialized processing facilities. Alternativeembodiments use grammars for other languages as well as grammars withother formalisms, such as tree adjoining grammars and head-driven phrasestructure grammars.

When reading in units during parsing, all volumes are converted tomilliliters and all masses are converted to grams internally, using a64-bit floating-point representation. This allows the system to read inall common units of measurement, using both the British imperial systemand metric, as well as any other measurement system added to thegrammar. In cases where a unit name is ambiguous with regard tomeasurement system, the default measurement system for the currentlocality of the underlying operating system will be used unlessotherwise specified by the user.

When parsing a sentence that is not an ingredient listing, the parserwill identify known fabrication commands (such as mix, combine, heat,etc.) in the sentence and the roles of any arguments in that sentenceusing standard grammatical parsing techniques well known in the art ofnatural language processing (in the preferred embodiment, the CCGparser). Sentences with unknown commands are logged and ignored duringexecution, while unrecognized adjectives, adverbs, clauses,prepositional phrases, and other syntactic types are ignored and loggedwithout affecting other processing of the sentences containing them.However, if a noun phrase that is not part of a parent prepositionalphrase cannot be recognized by the parser, an error message is shown tothe user and the user is asked to select whether to ignore the command,ignore just the noun phrase, or to abort operation completely. Thisbehavior can be overridden by setting a user preference to default toone of these actions without alerting the user.

Each fabrication command has an entry in a local database containingrules for the semantic roles involved in conducting each command. Theentry for the command “mix” contains a rule indicating that noun phraseobjects of the sentence should be mixed together by a piece offabrication equipment supporting the “mix” operation. It also containsrules indicating that prepositional phrases in the sentence with thecommand are used to place conditions on how the mixing must occur.Prepositional phrases of the form, “with X” will use X to perform themixing operation when X is a stirring device, tool, or other piece ofequipment. When X is a chemical ingredient or product of previousoperations, X will instead be mixed together with the other noun phraseobject or objects of the sentence. The entry also contains a rule forhandling adverbs in a sentence that apply to the command “mix”, whichadds parameters to the mixing process. The adverbs “slowly” and“quickly” cause the system to add a corresponding speed parameter to theappropriate mix command when executed on the automated fabricationequipment. Of course, these parameters can be specified precisely bydirectly using numerical values as well. The database entry for thecommand “combine” simply indicates to use the rules for the command“mix”. The entry for the command “heat” contains a rule indicating thatthe noun phrase objects of the sentence should be heated to thetemperature specified by a prepositional phrase in the sentence thatcontains a temperature, or to a default temperature if no temperature isspecified in the sentence. The entry for the command “boil” operates ina similar manner, except that the noun phrase objects of the sentenceare heated until a fabrication equipment sensor indicates a condition of“boiling”, which in the preferred embodiment occurs when a heat sensordetects that a material has reached its boiling temperature, as noted inthe database. Many other useful commands are also easily apparent to oneof ordinary skill in the art, in light of the above teaching, and areimplemented using the same basic techniques taught above.

In the preferred embodiment, after a recipe is completely parsed, thesoftware will then identify the appropriate automated fabricationequipment available for handling each specified operation in the recipe.Some operations may require simultaneous execution on more than onepiece of equipment. For each operation, the software will generate oneor more machine-specific control instructions for the selected automatedfabrication equipment. When multiple pieces of automated fabricationequipment are capable of handling the same operation, the preferredembodiment of the present invention will pick the equipment thatrequires the least time to complete the desired operation, including anydelays needed to wait for previous operations to complete and totransfer any necessary materials to that piece of equipment. Thisensures that the system takes full advantage of unutilized equipment toreduce wait times. If multiple pieces of equipment will complete thedesired operation in the same amount of time, the piece of equipmentmost recently used will be selected. In an alternative embodiment, thesystem will instead optimize for minimal equipment usage instead oftime. In another alternative embodiment, the system will use linearoptimization to schedule operations by solving the linear systemsimultaneously to reduce wait times. In the preferred embodiment, the NFcommunicates to the software a list of its operations described in thisdocument for each of the reaction chamber interiors 401-410 described,as well as for the other components of the NF such as the 3-D plottingdevices, lifting platform 152, piping system 134, pumps 136 a-f, androbotic arms.

The software will call the Controller to query each connected piece ofequipment to determine what operations it supports, when that piece isinitially connected to the system. In the event that a piece ofautomated fabrication equipment does not support this sort of query, thesoftware will instead consult a database to determine this information.

In an alternative embodiment, appropriate equipment is identified andmachine instructions are generated during parsing, allowing streaming oflong recipes to occur so that the system does not have to completedownloading and parsing an entire recipe before beginning to execute iton the automated fabrication equipment.

The preferred embodiment also allows a user to directly specify commandsinteractively, in real-time, to the automated fabrication equipment,either in a high-level format as described above in natural language orOFIF through the Recipe Processing Software or in low-levelmachine-dependent commands or electrical signals directly through theController.

In an alternative embodiment, the Recipe Processing Software contains aDigital Rights Management (DRM) system to prevent unauthorized orunlicensed processes to be used on the automated fabrication equipment.Each recipe must be cryptographically signed by a trusted private key,and the Recipe Processing Software will verify the signature beforeexecuting its instructions. In another alternative embodiment, the NFcontains a Digital Rights Management system as well, preventing specificNF operations from occurring without authorized cryptographic signaturesembedded in the instructions, encrypted with this specific NF's publickey by a remote Recipe Processing Software process on a secured centralserver. In addition to preventing unlicensed use of recipes, this DRMsystem can be used to prevent users from conducting dangerous operationsthat could create toxic, explosive, or otherwise dangerous materials. Inyet another alternative embodiment, the NF control system automaticallyscans all instructions for anything that could cause damage to themachine or its user, or create harmful chemical reactions, independentof any DRM technology. This is as simple as making sure that reactionchambers do not exceed their specified temperature and pressurethresholds, monitoring for known chemical reactions with harmful resultsor by-products, and other safety monitoring as desired. In anotheralternative embodiment, this monitoring is also done on recipes by theRecipe Processing Software.

In the course of generating instructions to carry out variousoperations, ingredients and processed items will often need to be movedeither within a piece of equipment or from one piece of equipment toanother, for example, to move an item that has been mixed in onereaction chamber to be heated in another reaction chamber. The softwarewill identify when this needs to occur based on a pre-existing databasewith physical location data for each utilized piece of equipment. Thisdatabase includes the location and dimensions of each compartment wherea fabrication operation can take place, as well as any commands neededto open, close, load, or remove an item from that compartment. In thepreferred embodiment, this includes the storage bins 125, reactionchambers 130, grippers of the robotic arms 111, 118, output tray 147,nozzles 145 a-b, lifting platform 152, and waste shaft 159 of the NF.The software will keep track of the current location of every movableitem and piece of equipment in the system and generate machine-specificcontrol instructions for each time an item or piece of equipment needsto be moved. For some machines, this will simply be multidimensionalcoordinate positional data, but for others it requires generatinginstructions that create specific electromagnetic pulse signals forstepper motors or servos. The software will determine that an item needsto be moved if it is currently (at that point in the instructionsequence) not in the appropriate compartment of the fabricationequipment selected for performing the desired fabrication operation. Inthe case where a piece of movable fabrication equipment was selected toperform the desired operation, the software will instead direct thefabrication equipment to move to the current location of the item to beprocessed, or to an intermediate location suitable for performing theoperation (where the object or element or compound is also moved, ifnecessary), if such a location is specified in the database.

To generate an instruction for a specific piece of automated fabricationequipment, the software will call a plug-in module written for thatpiece of equipment to determine what machine-specific instructions togenerate for a given desired operation. Support for new automatedfabrication equipment can be added by writing new plug-ins to thissoftware. In the preferred embodiment of the present invention, eachplug-in module looks up the entry for the desired operation in abuilt-in database to determine the corresponding machine-specificinstructions to generate. Each database entry contains the format andparameter structure for a given fabrication operation (such as mix,heat, etc.) and rules for mapping the semantic machine-independentarguments and temperature and speed and other settings to that parameterstructure. In an alternative embodiment, this database lookup isbypassed when plug-ins instead have a specific function defined toperform a given processing operation, allowing heuristics to be usedinstead of database lookups when desired.

For example, suppose the software needs to prepare material for anobject in response to the parsed sentence, “Heat at 400° C. for 15minutes or until evaporated.” The parser identifies the word “heat” as acommand for heating in an enclosed environment and determines thatreaction chamber 409 in the NF is the first piece of equipment availableto carry out this command. The parser also identifies the prepositionalphrases to indicate the temperature to heat to and remain at and thecondition to stop heating (which in this case is a conjunction of twoprepositional phrases: after 15 minutes or when the reaction chamber 409sensors detect that any liquid has fully evaporated, by measuring itsmass in the spinner 437, minus the known mass of any container placedtherein). Conjunctions such as “and” and “or” are handled using standardBoolean logic. The software will call its automated reaction chamberplug-in, which will generate a series of machine-dependent instructionsto load an item into the reaction chamber and to raise the temperatureto 400°. The software will also generate instructions to cause the NF toprovide feedback data of the current condition of the item from thereaction chamber sensors, so that the Controller will know when toproceed to the next machine-dependent instruction, which tells the NF toturn off the heating element 436 in the reaction chamber 409 and unloadthe item. The Controller will wait until either 15 minutes have passedor until the reaction chamber sensors detect that any liquids are fullyevaporated before executing these instructions. “Evaporated” is aspecific condition stored in a database in an entry indicating thesensor output ranges that correspond to this condition, namely, a mass(minus the known mass of any empty containers in the reaction chamber)of zero.

In the preferred embodiment of the present invention, supportedconditions include “brown”, “soft”, “hard”, “solid”, “transparent”,“evaporated”, “sublimated”, “supersaturated”, “saturated”, “dry”,“vaporized”, “white”, “red”, “blue”, “green”, “black”, “warm”, “hot”,“cold”, “frozen”, “boiling”, “melted”, and “dissolved” although manymore are possible and easily envisioned by one skilled in the art inlight of the above teachings. Temperatures in both Celsius andFahrenheit are supported and times may be specified in seconds, minutes,or hours and fractions thereof.

The software will also generate machine-dependent instructions for eachpiece of equipment, in order to clean that equipment after all otherinstructions for that equipment have been completed, if the equipmentsupports self-cleaning instructions. In the case of the NF in thepreferred embodiment, the ultrasonic and other cleaning abilitiesdescribed in this disclosure are used for this purpose.

In an alternative embodiment of the present invention, instead ofgenerating machine-dependent control instructions directly, the softwarewill generate machine-independent intermediate instructions, such asthose for the OFIF format described previously. These can bepost-processed by users, other pieces of software, or automatedfabrication equipment that can handle such an intermediate format.

In the preferred embodiment of the present invention, the Controller forexecuting recipes on the automated fabrication devices and forinteracting with those systems is a software program running on acomputer system that can interface with all available automatedfabrication devices. The interface between the Controller and eachsystem can be an Ethernet connection, USB connection, Wi-Fi connection,Bluetooth connection, or any other peripheral interface supported by theunderlying hardware. The interface can also utilize high-level protocolssuch as TCP/IP when low-level transport details are handled by theunderlying operating system or hardware.

When preparing a recipe, the Controller sends the generated instructionsover the appropriate interface to the specified automated fabricationequipment. Some automated fabrication equipment requires sending oneinstruction at a time, while other pieces of equipment can handle blocksof instructions at once. For some equipment, such as the NF in thepreferred embodiment, these “instructions” are simple electromagneticpulses directly used to control individual motors or servos in theequipment, while for others they are microcontroller instructions orother higher-level machine control instructions. The Controllerdetermines these capabilities from a database, or from queryingequipment that supports such queries. The Controller is also capable ofsending instructions to multiple pieces of equipment at once, when thesoftware has determined either that simultaneous execution is necessaryor that the instructions are independent. The Controller also promptsthe user when processing any instructions that require humanassistance—for example, asking someone to insert a specific ingredientinto a storage bin or the output tray.

The Controller also monitors feedback from all of the connectedautomated fabrication equipment to ensure that all systems are behavingas expected. If any feedback parameters exceed pre-specified tolerancelevels, for example a temperature sensor indicates an item is at 150° C.when it is only supposed to be at 100° C., the system will halt andalert the user. In an alternative embodiment, the system will insteadattempt to correct the problem and continue (but will still alert theuser). In the above example, this alternative embodiment of the systemwould send machine-dependent commands to the affected equipment to lowerthe temperature or turn off the equipment, instead of halting the entireinstruction sequence.

The foregoing description of the preferred embodiment and selectalternative embodiments of the invention has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Many modifications and variations are possible in light of the aboveteaching.

I claim:
 1. A computer system implemented method for automatedfabrication comprising the steps of: fabricating materials and objectsusing a computer system connected to one or more automated fabricationsystems, each of the one or more automated fabrication systemscomprising one or more devices, the computer system including aprocessor, a program, a non-transient computer readable memory and auser interface, the program executed by the processor of the computersystem, said fabricating step further comprising the steps of: receivingthrough a user interface a set of commands for automatically fabricatingone or more physical objects by the one or more automated fabricationsystems, wherein the receiving step further comprises the step ofstoring by the processor the set of commands within the non-transientcomputer readable memory; parsing by the processor the set of commandsfor automatically fabricating the one or more physical objects;predicting automatically by the processor one or more input materialsneeded for automatically fabricating the one or more physical objects,wherein the one or more input materials needed is based on said parsingstep; identifying automatically by the processor the one or more devicesof the one or more automated fabrication systems needed to fulfill theset of commands for automatically fabricating the one or more physicalobjects, wherein the one or more devices needed is based on said parsingstep; generating by the processor one or more sequences of instructions,wherein the one or more sequences of instructions are based on saiddetermining step and said identifying step; transmitting from theprocessor to the one or more devices of the one or more automatedfabrication systems the one or more sequences of instructions; executingby the one or more devices of the one or more automated fabricationsystems the one or more sequences of instructions, wherein saidexecuting step further comprises the step of retrieving the one or moreinput materials needed to automatically fabricate the one or morephysical objects; and creating by the one or more devices of the one ormore automated fabrication systems the one or more physical objects toobtain one or more fabricated physical objects, wherein the one or morefabricated physical objects includes at least one fabricated materialdifferent than any of the one or more input materials.
 2. The method ofclaim 1 further comprising the steps of: monitoring said execution stepin real-time to determine whether or not any additional instructions arenecessary to create the one or more fabricated physical objects.
 3. Themethod of claim 1, wherein the set of commands are natural languagesentences that are syntactically parsed in said parsing step.
 4. Themethod of claim 1, wherein the set of commands are obtained through theInternet.
 5. The method of claim 1 further comprising the step ofprompting a user when human interaction is required.
 6. The method ofclaim 1, wherein the one or more fabricated physical objects is amolecular compound.
 7. The method of claim 1 further comprising the stepof: ordering the one or more input materials through the Internet. 8.The method of claim 1, wherein the one or more devices of the one ormore automated fabrication systems includes a container, a storage bin,a reaction chamber, a pipe section, a lifting platform, and a 3-Dplotting device.
 9. The method of claim 1 further comprising the stepsof: tracking within the one or more automated fabrication systems theposition of each input material of the one or more input materials;establishing the interval of time when each input material of the one ormore input materials must be moved from one device to another device ofthe one or more devices to fulfill the set of commands; and moving theone or more input materials from one device to another device of the oneor more devices to fulfill the set of commands.
 10. The method of claim1 wherein said creating step further comprises the step of extruding theone or more input materials through a nozzle in a 3-D plotting device.11. The method of claim 1 wherein said executing step further comprisesthe step of preventing execution of one or more unauthorized sequencesof instructions.
 12. The method of claim 1 wherein said retrieving stepfurther comprises the step of automatically fabricating the one or moreinput materials needed to automatically fabricate the one or morephysical objects.